
extern "C" __declspec(dllexport) bool Device_run(IrrlichtDevice *device)
{
	return device->run();
}

extern "C" __declspec(dllexport) void Device_yield(IrrlichtDevice *device)
{
	device->yield();
}

extern "C" __declspec(dllexport) void Device_sleep(IrrlichtDevice *device, unsigned int time, bool pauseTimer)
{
	device->sleep(time, pauseTimer);
}

extern "C" __declspec(dllexport) IVideoDriver* Device_getVideoDriver(IrrlichtDevice *device)
{
	return device->getVideoDriver();
}

extern "C" __declspec(dllexport) ISceneManager* Device_getSceneManager(IrrlichtDevice *device)
{
	return device->getSceneManager();
}

extern "C" __declspec(dllexport) IGUIEnvironment* Device_getGUIEnvironment(IrrlichtDevice *device)
{
	return device->getGUIEnvironment();
}

extern "C" __declspec(dllexport) IFileSystem* Device_getFileSystem(IrrlichtDevice *device)
{
	return device->getFileSystem();
}

extern "C" __declspec(dllexport) IOSOperator* Device_getOSOperator(IrrlichtDevice *device)
{
	return device->getOSOperator();
}

extern "C" __declspec(dllexport) ICursorControl* Device_getCursorControl(IrrlichtDevice *device)
{
	return device->getCursorControl();
}

extern "C" __declspec(dllexport) ITimer* Device_getTimer(IrrlichtDevice *device)
{
	return device->getTimer();
}

extern "C" __declspec(dllexport) void Device_setWindowCaption(IrrlichtDevice *device, const wchar_t *text)
{
	device->setWindowCaption(text);
}

extern "C" __declspec(dllexport) bool Device_isWindowActive(IrrlichtDevice *device)
{
	return device->isWindowActive();
}

extern "C" __declspec(dllexport) bool Device_isWindowFocused(IrrlichtDevice *device)
{
	return device->isWindowFocused();
}

extern "C" __declspec(dllexport) bool Device_isWindowMinimized(IrrlichtDevice *device)
{
	return device->isWindowMinimized();
}

extern "C" __declspec(dllexport) bool Device_isFullscreen(IrrlichtDevice *device)
{
	return device->isFullscreen();
}

extern "C" __declspec(dllexport) void Device_setResizeable(IrrlichtDevice *device, bool isResizeable)
{
	device->setResizable(isResizeable);
}

extern "C" __declspec(dllexport) unsigned int Device_getColorFormat(IrrlichtDevice *device)
{
	return (unsigned int)device->getColorFormat();
}

extern "C" __declspec(dllexport) char* Device_getVersion(IrrlichtDevice *device)
{
	return (char*)device->getVersion();
}

extern "C" __declspec(dllexport) void Device_minimizeWindow(IrrlichtDevice *device)
{
	device->minimizeWindow();
}

extern "C" __declspec(dllexport) void Device_maximizeWindow(IrrlichtDevice *device)
{
	device->maximizeWindow();
}

extern "C" __declspec(dllexport) void Device_restoreWindow(IrrlichtDevice *device)
{
	device->restoreWindow();
}

extern "C" __declspec(dllexport) void Device_setGammaRamp(IrrlichtDevice *device, float r, float g, float b, float brightness, float contrast)
{
	device->setGammaRamp(r, g, b, brightness, contrast);
}

extern "C" __declspec(dllexport) IEventReceiver* Device_GetEventReceiver(IrrlichtDevice *device)
{
	return device->getEventReceiver();
}
	 
extern "C" __declspec(dllexport) void Device_SetEventReceiver(IrrlichtDevice *device, IEventReceiver *receiver)
{
	device->setEventReceiver(receiver);
}